package common

// PaginationParams 分页参数结构体
// @Description 通用分页查询参数结构
type PaginationParams struct {
	CurrentPage int `json:"currentPage" form:"currentPage" binding:"required,min=1" msg:"页码必须大于0" gorm:"column:currentPage" example:"1"`           // 当前页码，从1开始计数
	PageSize    int `json:"pageSize" form:"pageSize" binding:"required,gte=1,lte=100" msg:"每页数量必须大于1且小于等于100" gorm:"column:pageSize" example:"10"` // 每页显示记录数，最小1，最大100
}

type PaginationResult[T any] struct {
	Total int64 `json:"total" form:"total" gorm:"comment:总数" example:"100"`  // 分页总数
	Data  []T   `json:"data" form:"data" gorm:"comment:分页数据集合" example:"[]"` // 列表数据
}
